home *** CD-ROM | disk | FTP | other *** search
/ Motor Sport Digital Archive Collection 1960s / Motor Sport Digital Archive Collection 1960s.iso / main.swf / scripts / mx / effects / effectClasses / TweenEffectInstance.as < prev    next >
Encoding:
Text File  |  2008-05-21  |  3.8 KB  |  151 lines

  1. package mx.effects.effectClasses
  2. {
  3.    import mx.core.UIComponentGlobals;
  4.    import mx.core.mx_internal;
  5.    import mx.effects.EffectInstance;
  6.    import mx.effects.Tween;
  7.    import mx.events.TweenEvent;
  8.    
  9.    use namespace mx_internal;
  10.    
  11.    public class TweenEffectInstance extends EffectInstance
  12.    {
  13.       mx_internal static const VERSION:String = "2.0.1.0";
  14.       
  15.       mx_internal var needToLayout:Boolean = false;
  16.       
  17.       private var _seekTime:Number = 0;
  18.       
  19.       public var tween:Tween;
  20.       
  21.       public var easingFunction:Function;
  22.       
  23.       public function TweenEffectInstance(param1:Object)
  24.       {
  25.          mx_internal::needToLayout = false;
  26.          _seekTime = 0;
  27.          super(param1);
  28.       }
  29.       
  30.       override public function get playheadTime() : Number
  31.       {
  32.          if(tween)
  33.          {
  34.             return tween.mx_internal::playheadTime + super.playheadTime;
  35.          }
  36.          return 0;
  37.       }
  38.       
  39.       override mx_internal function set playReversed(param1:Boolean) : void
  40.       {
  41.          super.mx_internal::playReversed = param1;
  42.          if(tween)
  43.          {
  44.             tween.mx_internal::playReversed = param1;
  45.          }
  46.       }
  47.       
  48.       override public function resume() : void
  49.       {
  50.          super.resume();
  51.          if(tween)
  52.          {
  53.             tween.resume();
  54.          }
  55.       }
  56.       
  57.       public function onTweenUpdate(param1:Object) : void
  58.       {
  59.       }
  60.       
  61.       mx_internal function applyTweenStartValues() : void
  62.       {
  63.          if(duration > 0)
  64.          {
  65.             onTweenUpdate(tween.mx_internal::getCurrentValue(0));
  66.          }
  67.       }
  68.       
  69.       protected function createTween(param1:Object, param2:Object, param3:Object, param4:Number = -1, param5:Number = -1) : Tween
  70.       {
  71.          var _loc6_:Tween = null;
  72.          _loc6_ = new Tween(param1,param2,param3,param4,param5);
  73.          _loc6_.addEventListener(TweenEvent.TWEEN_START,tweenEventHandler);
  74.          _loc6_.addEventListener(TweenEvent.TWEEN_UPDATE,tweenEventHandler);
  75.          _loc6_.addEventListener(TweenEvent.TWEEN_END,tweenEventHandler);
  76.          if(easingFunction != null)
  77.          {
  78.             _loc6_.easingFunction = easingFunction;
  79.          }
  80.          if(_seekTime > 0)
  81.          {
  82.             _loc6_.seek(_seekTime);
  83.          }
  84.          _loc6_.mx_internal::playReversed = mx_internal::playReversed;
  85.          return _loc6_;
  86.       }
  87.       
  88.       override public function end() : void
  89.       {
  90.          mx_internal::stopRepeat = true;
  91.          if(mx_internal::delayTimer)
  92.          {
  93.             mx_internal::delayTimer.reset();
  94.          }
  95.          if(tween)
  96.          {
  97.             tween.endTween();
  98.             tween = null;
  99.          }
  100.       }
  101.       
  102.       override public function reverse() : void
  103.       {
  104.          super.reverse();
  105.          if(tween)
  106.          {
  107.             tween.reverse();
  108.          }
  109.          super.mx_internal::playReversed = !mx_internal::playReversed;
  110.       }
  111.       
  112.       private function tweenEventHandler(param1:TweenEvent) : void
  113.       {
  114.          dispatchEvent(param1);
  115.       }
  116.       
  117.       public function seek(param1:Number) : void
  118.       {
  119.          if(tween)
  120.          {
  121.             tween.seek(param1);
  122.          }
  123.          else
  124.          {
  125.             _seekTime = param1;
  126.          }
  127.       }
  128.       
  129.       override public function pause() : void
  130.       {
  131.          super.pause();
  132.          if(tween)
  133.          {
  134.             tween.pause();
  135.          }
  136.       }
  137.       
  138.       public function onTweenEnd(param1:Object) : void
  139.       {
  140.          onTweenUpdate(param1);
  141.          tween = null;
  142.          if(mx_internal::needToLayout)
  143.          {
  144.             UIComponentGlobals.mx_internal::layoutManager.validateNow();
  145.          }
  146.          finishRepeat();
  147.       }
  148.    }
  149. }
  150.  
  151.